Existing approaches for caching partial results include the use of memoization techniques. As used herein, memoization refers to one or more optimization techniques applied to computer programs for purposes of accelerating or speeding-up the programs. However, existing memoization approaches provide limited effectiveness in situations involving large volumes of data. Additionally, challenges are presented by duplication in data. For example, when data are consumed by analytics applications, pre-defined computations can be repeatedly performed on the data. Accordingly, in such scenarios, caching results can be increasingly time-consuming and costly.